R/conditional variance.R

##
## Define main program to perform the run and pull in D-values.
###
#' Deficiency lookup function.
#'
#' This function generates strings randomly, generates the "look-aheads" and pulls in deficiency data.
#' @param n length of string to generate.
#' @param k number of bits to "look ahead."
#' gen()
#' @export
gen<-function(n,q=1){
  offline<<-FALSE
  #List of error conditions
  if (q<=0) {stop("Values of q must be positive integers.")}
  if (as.integer(q)!=q){stop("Values of q must be integers!")}
  if (is.element(q,c(1,2,3,4,5,6))==FALSE ){stop ("That value of q is not supported at this time.")}
  if(n==1){stop("n must be greater than 1!")}
  if(n>16-q){stop("n must be less than 15 minus the total number of steps ahead!!")}
  #Generate look-ahead rows
  v(q,n)
  #####
  for(j in 1:15){ 
    for (k in 1:126){ #Note that the upper bound here is the max number of rows in sb.
      assign(paste("d",j,".",k,sep=""),"X",envir = .GlobalEnv)
    }
  }
  #Prepare to generate a run.
  z.0<<-vector(length=n,"numeric")
  z.1<<-vector(length=n,"numeric")
  #Generate the first row.
  b<<-as.character(sample(c(0,1),1))
  b->>z.0[1]
  z.1[1]<<-data.sh[grep(paste("^",b,"$",sep=""),data.sh[,1]),4]
  for (j in 1:nrow(sb)){
    assign(paste("d","1",".",j,sep=""),data.sh[grep(as.character(paste("^",z.0[1],sb$String[j],"$",sep="")),data.sh[,1]),4],envir = .GlobalEnv)
  }
  ##########################
  #Generate subsequent rows.
  for (i in 2:n){
    #these two liines generate the runs
    nxt(b)->>b
    z.0[i]<<-b
    #these lines should generate the "look-aheads."
    for (j in 1:nrow(sb)){
      #Assign each value to procedurally generated variable. First digit = Row number; Second digit = Sb row.
      assign(paste("d",i,".",j,sep=""),data.sh[grep(as.character(paste("^",z.0[i],sb$String[j],"$",sep="")),data.sh[,1]),4],envir = .GlobalEnv)
      }
  }
  #############
  #these lines must be generalized
  #for(k in 31:62){print(as.data.frame(t((paste("d",1:15,".",k,",",sep="")))))}
  d.0<<-c(d1.1, d2.1, d3.1, d4.1, d5.1, d6.1, d7.1, d8.1, d9.1, d10.1, d11.1, d12.1, d13.1, d14.1, d15.1)
  d.1<<-c(d1.2, d2.2, d3.2, d4.2, d5.2, d6.2, d7.2, d8.2, d9.2, d10.2, d11.2, d12.2, d13.2, d14.2, d15.2)
  d.00<<-c(d1.3, d2.3, d3.3, d4.3, d5.3, d6.3, d7.3, d8.3, d9.3, d10.3, d11.3, d12.3, d13.3, d14.3, d15.3)
  d.11<<-c(d1.4, d2.4, d3.4, d4.4, d5.4, d6.4, d7.4, d8.4, d9.4, d10.4, d11.4, d12.4, d13.4, d14.4, d15.4)
  d.01<<-c(d1.5, d2.5, d3.5, d4.5, d5.5, d6.5, d7.5, d8.5, d9.5, d10.5, d11.5, d12.5, d13.5, d14.5, d15.5)
  d.10<<-c(d1.6, d2.6, d3.6, d4.6, d5.6, d6.6, d7.6, d8.6, d9.6, d10.6, d11.6, d12.6, d13.6, d14.6, d15.6)
  d.111<<-c(d1.7, d2.7, d3.7, d4.7, d5.7, d6.7, d7.7, d8.7, d9.7, d10.7, d11.7, d12.7, d13.7, d14.7, d15.7)
  d.000<<-c(d1.8, d2.8, d3.8, d4.8, d5.8, d6.8, d7.8, d8.8, d9.8, d10.8, d11.8, d12.8, d13.8, d14.8, d15.8)
  d.110<<-c(d1.9, d2.9, d3.9, d4.9, d5.9, d6.9, d7.9, d8.9, d9.9, d10.9, d11.9, d12.9, d13.9, d14.9, d15.9)
  d.011<<-c(d1.10, d2.10, d3.10, d4.10, d5.10, d6.10, d7.10, d8.10, d9.10, d10.10, d11.10, d12.10, d13.10, d14.10, d15.10)
  d.100<<-c(d1.11, d2.11, d3.11, d4.11, d5.11, d6.11, d7.11, d8.11, d9.11, d10.11, d11.11, d12.11, d13.11, d14.11, d15.11)
  d.001<<-c(d1.12, d2.12, d3.12, d4.12, d5.12, d6.12, d7.12, d8.12, d9.12, d10.12, d11.12, d12.12, d13.12, d14.12, d15.12)
  d.101<<-c(d1.13, d2.13, d3.13, d4.13, d5.13, d6.13, d7.13, d8.13, d9.13, d10.13, d11.13, d12.13, d13.13, d14.13, d15.13)
  d.010<<-c(d1.14, d2.14, d3.14, d4.14, d5.14, d6.14, d7.14, d8.14, d9.14, d10.14, d11.14, d12.14, d13.14, d14.14, d15.14)
  d.0000<<-c(d1.15, d2.15, d3.15, d4.15, d5.15, d6.15, d7.15, d8.15, d9.15, d10.15, d11.15, d12.15, d13.15, d14.15, d15.15)
  d.1111<<-c(d1.16, d2.16, d3.16, d4.16, d5.16, d6.16, d7.16, d8.16, d9.16, d10.16, d11.16, d12.16, d13.16, d14.16, d15.16)
  d.1110<<-c(d1.17, d2.17, d3.17, d4.17, d5.17, d6.17, d7.17, d8.17, d9.17, d10.17, d11.17, d12.17, d13.17, d14.17, d15.17)
  d.1010<<-c(d1.18, d2.18, d3.18, d4.18, d5.18, d6.18, d7.18, d8.18, d9.18, d10.18, d11.18, d12.18, d13.18, d14.18, d15.18)
  d.0001<<-c(d1.19, d2.19, d3.19, d4.19, d5.19, d6.19, d7.19, d8.19, d9.19, d10.19, d11.19, d12.19, d13.19, d14.19, d15.19)
  d.0101<<-c(d1.20, d2.20, d3.20, d4.20, d5.20, d6.20, d7.20, d8.20, d9.20, d10.20, d11.20, d12.20, d13.20, d14.20, d15.20)
  d.1000<<-c(d1.21, d2.21, d3.21, d4.21, d5.21, d6.21, d7.21, d8.21, d9.21, d10.21, d11.21, d12.21, d13.21, d14.21, d15.21)
  d.0111<<-c(d1.22, d2.22, d3.22, d4.22, d5.22, d6.22, d7.22, d8.22, d9.22, d10.22, d11.22, d12.22, d13.22, d14.22, d15.22)
  d.1101<<-c(d1.23, d2.23, d3.23, d4.23, d5.23, d6.23, d7.23, d8.23, d9.23, d10.23, d11.23, d12.23, d13.23, d14.23, d15.23)
  d.1011<<-c(d1.24, d2.24, d3.24, d4.24, d5.24, d6.24, d7.24, d8.24, d9.24, d10.24, d11.24, d12.24, d13.24, d14.24, d15.24)
  d.0110<<-c(d1.25, d2.25, d3.25, d4.25, d5.25, d6.25, d7.25, d8.25, d9.25, d10.25, d11.25, d12.25, d13.25, d14.25, d15.25)
  d.1100<<-c(d1.26, d2.26, d3.26, d4.26, d5.26, d6.26, d7.26, d8.26, d9.26, d10.26, d11.26, d12.26, d13.26, d14.26, d15.26)
  d.0010<<-c(d1.27, d2.27, d3.27, d4.27, d5.27, d6.27, d7.27, d8.27, d9.27, d10.27, d11.27, d12.27, d13.27, d14.27, d15.27)
  d.1001<<-c(d1.28, d2.28, d3.28, d4.28, d5.28, d6.28, d7.28, d8.28, d9.28, d10.28, d11.28, d12.28, d13.28, d14.28, d15.28)
  d.0100<<-c(d1.29, d2.29, d3.29, d4.29, d5.29, d6.29, d7.29, d8.29, d9.29, d10.29, d11.29, d12.29, d13.29, d14.29, d15.29)
  d.0011<<-c(d1.30, d2.30, d3.30, d4.30, d5.30, d6.30, d7.30, d8.30, d9.30, d10.30, d11.30, d12.30, d13.30, d14.30, d15.30)
  d.00000<<-c(d1.31, d2.31, d3.31, d4.31, d5.31, d6.31, d7.31, d8.31, d9.31, d10.31, d11.31, d12.31, d13.31, d14.31, d15.31)
  d.11111<<-c(d1.32, d2.32, d3.32, d4.32, d5.32, d6.32, d7.32, d8.32, d9.32, d10.32, d11.32, d12.32, d13.32, d14.32, d15.32)
  d.11110<<-c(d1.33, d2.33, d3.33, d4.33, d5.33, d6.33, d7.33, d8.33, d9.33, d10.33, d11.33, d12.33, d13.33, d14.33, d15.33)
  d.10101<<-c(d1.34, d2.34, d3.34, d4.34, d5.34, d6.34, d7.34, d8.34, d9.34, d10.34, d11.34, d12.34, d13.34, d14.34, d15.34)
  d.10000<<-c(d1.35, d2.35, d3.35, d4.35, d5.35, d6.35, d7.35, d8.35, d9.35, d10.35, d11.35, d12.35, d13.35, d14.35, d15.35)
  d.01010<<-c(d1.36, d2.36, d3.36, d4.36, d5.36, d6.36, d7.36, d8.36, d9.36, d10.36, d11.36, d12.36, d13.36, d14.36, d15.36)
  d.00001<<-c(d1.37, d2.37, d3.37, d4.37, d5.37, d6.37, d7.37, d8.37, d9.37, d10.37, d11.37, d12.37, d13.37, d14.37, d15.37)
  d.01111<<-c(d1.38, d2.38, d3.38, d4.38, d5.38, d6.38, d7.38, d8.38, d9.38, d10.38, d11.38, d12.38, d13.38, d14.38, d15.38)
  d.11010<<-c(d1.39, d2.39, d3.39, d4.39, d5.39, d6.39, d7.39, d8.39, d9.39, d10.39, d11.39, d12.39, d13.39, d14.39, d15.39)
  d.10110<<-c(d1.40, d2.40, d3.40, d4.40, d5.40, d6.40, d7.40, d8.40, d9.40, d10.40, d11.40, d12.40, d13.40, d14.40, d15.40)
  d.11101<<-c(d1.41, d2.41, d3.41, d4.41, d5.41, d6.41, d7.41, d8.41, d9.41, d10.41, d11.41, d12.41, d13.41, d14.41, d15.41)
  d.10010<<-c(d1.42, d2.42, d3.42, d4.42, d5.42, d6.42, d7.42, d8.42, d9.42, d10.42, d11.42, d12.42, d13.42, d14.42, d15.42)
  d.00111<<-c(d1.43, d2.43, d3.43, d4.43, d5.43, d6.43, d7.43, d8.43, d9.43, d10.43, d11.43, d12.43, d13.43, d14.43, d15.43)
  d.11000<<-c(d1.44, d2.44, d3.44, d4.44, d5.44, d6.44, d7.44, d8.44, d9.44, d10.44, d11.44, d12.44, d13.44, d14.44, d15.44)
  d.01011<<-c(d1.45, d2.45, d3.45, d4.45, d5.45, d6.45, d7.45, d8.45, d9.45, d10.45, d11.45, d12.45, d13.45, d14.45, d15.45)
  d.10100<<-c(d1.46, d2.46, d3.46, d4.46, d5.46, d6.46, d7.46, d8.46, d9.46, d10.46, d11.46, d12.46, d13.46, d14.46, d15.46)
  d.00011<<-c(d1.47, d2.47, d3.47, d4.47, d5.47, d6.47, d7.47, d8.47, d9.47, d10.47, d11.47, d12.47, d13.47, d14.47, d15.47)
  d.01110<<-c(d1.48, d2.48, d3.48, d4.48, d5.48, d6.48, d7.48, d8.48, d9.48, d10.48, d11.48, d12.48, d13.48, d14.48, d15.48)
  d.00010<<-c(d1.49, d2.49, d3.49, d4.49, d5.49, d6.49, d7.49, d8.49, d9.49, d10.49, d11.49, d12.49, d13.49, d14.49, d15.49)
  d.01000<<-c(d1.50, d2.50, d3.50, d4.50, d5.50, d6.50, d7.50, d8.50, d9.50, d10.50, d11.50, d12.50, d13.50, d14.50, d15.50)
  d.11011<<-c(d1.51, d2.51, d3.51, d4.51, d5.51, d6.51, d7.51, d8.51, d9.51, d10.51, d11.51, d12.51, d13.51, d14.51, d15.51)
  d.01100<<-c(d1.52, d2.52, d3.52, d4.52, d5.52, d6.52, d7.52, d8.52, d9.52, d10.52, d11.52, d12.52, d13.52, d14.52, d15.52)
  d.10111<<-c(d1.53, d2.53, d3.53, d4.53, d5.53, d6.53, d7.53, d8.53, d9.53, d10.53, d11.53, d12.53, d13.53, d14.53, d15.53)
  d.11100<<-c(d1.54, d2.54, d3.54, d4.54, d5.54, d6.54, d7.54, d8.54, d9.54, d10.54, d11.54, d12.54, d13.54, d14.54, d15.54)
  d.10011<<-c(d1.55, d2.55, d3.55, d4.55, d5.55, d6.55, d7.55, d8.55, d9.55, d10.55, d11.55, d12.55, d13.55, d14.55, d15.55)
  d.00110<<-c(d1.56, d2.56, d3.56, d4.56, d5.56, d6.56, d7.56, d8.56, d9.56, d10.56, d11.56, d12.56, d13.56, d14.56, d15.56)
  d.00100<<-c(d1.57, d2.57, d3.57, d4.57, d5.57, d6.57, d7.57, d8.57, d9.57, d10.57, d11.57, d12.57, d13.57, d14.57, d15.57)
  d.10001<<-c(d1.58, d2.58, d3.58, d4.58, d5.58, d6.58, d7.58, d8.58, d9.58, d10.58, d11.58, d12.58, d13.58, d14.58, d15.58)
  d.11001<<-c(d1.59, d2.59, d3.59, d4.59, d5.59, d6.59, d7.59, d8.59, d9.59, d10.59, d11.59, d12.59, d13.59, d14.59, d15.59)
  d.00101<<-c(d1.60, d2.60, d3.60, d4.60, d5.60, d6.60, d7.60, d8.60, d9.60, d10.60, d11.60, d12.60, d13.60, d14.60, d15.60)
  d.01101<<-c(d1.61, d2.61, d3.61, d4.61, d5.61, d6.61, d7.61, d8.61, d9.61, d10.61, d11.61, d12.61, d13.61, d14.61, d15.61)
  d.01001<<-c(d1.62, d2.62, d3.62, d4.62, d5.62, d6.62, d7.62, d8.62, d9.62, d10.62, d11.62, d12.62, d13.62, d14.62, d15.62)
  d.000000<<-c(d1.63, d2.63, d3.63, d4.63, d5.63, d6.63, d7.63, d8.63, d9.63, d10.63, d11.63, d12.63, d13.63, d14.63, d15.63)
  d.111111<<-c(d1.64, d2.64, d3.64, d4.64, d5.64, d6.64, d7.64, d8.64, d9.64, d10.64, d11.64, d12.64, d13.64, d14.64, d15.64)
  d.101010<<-c(d1.65, d2.65, d3.65, d4.65, d5.65, d6.65, d7.65, d8.65, d9.65, d10.65, d11.65, d12.65, d13.65, d14.65, d15.65)
  d.100000<<-c(d1.66, d2.66, d3.66, d4.66, d5.66, d6.66, d7.66, d8.66, d9.66, d10.66, d11.66, d12.66, d13.66, d14.66, d15.66)
  d.011111<<-c(d1.67, d2.67, d3.67, d4.67, d5.67, d6.67, d7.67, d8.67, d9.67, d10.67, d11.67, d12.67, d13.67, d14.67, d15.67)
  d.010101<<-c(d1.68, d2.68, d3.68, d4.68, d5.68, d6.68, d7.68, d8.68, d9.68, d10.68, d11.68, d12.68, d13.68, d14.68, d15.68)
  d.111110<<-c(d1.69, d2.69, d3.69, d4.69, d5.69, d6.69, d7.69, d8.69, d9.69, d10.69, d11.69, d12.69, d13.69, d14.69, d15.69)
  d.000001<<-c(d1.70, d2.70, d3.70, d4.70, d5.70, d6.70, d7.70, d8.70, d9.70, d10.70, d11.70, d12.70, d13.70, d14.70, d15.70)
  d.001010<<-c(d1.71, d2.71, d3.71, d4.71, d5.71, d6.71, d7.71, d8.71, d9.71, d10.71, d11.71, d12.71, d13.71, d14.71, d15.71)
  d.001001<<-c(d1.72, d2.72, d3.72, d4.72, d5.72, d6.72, d7.72, d8.72, d9.72, d10.72, d11.72, d12.72, d13.72, d14.72, d15.72)
  d.011011<<-c(d1.73, d2.73, d3.73, d4.73, d5.73, d6.73, d7.73, d8.73, d9.73, d10.73, d11.73, d12.73, d13.73, d14.73, d15.73)
  d.001100<<-c(d1.74, d2.74, d3.74, d4.74, d5.74, d6.74, d7.74, d8.74, d9.74, d10.74, d11.74, d12.74, d13.74, d14.74, d15.74)
  d.011100<<-c(d1.75, d2.75, d3.75, d4.75, d5.75, d6.75, d7.75, d8.75, d9.75, d10.75, d11.75, d12.75, d13.75, d14.75, d15.75)
  d.101101<<-c(d1.76, d2.76, d3.76, d4.76, d5.76, d6.76, d7.76, d8.76, d9.76, d10.76, d11.76, d12.76, d13.76, d14.76, d15.76)
  d.001111<<-c(d1.77, d2.77, d3.77, d4.77, d5.77, d6.77, d7.77, d8.77, d9.77, d10.77, d11.77, d12.77, d13.77, d14.77, d15.77)
  d.101111<<-c(d1.78, d2.78, d3.78, d4.78, d5.78, d6.78, d7.78, d8.78, d9.78, d10.78, d11.78, d12.78, d13.78, d14.78, d15.78)
  d.101011<<-c(d1.79, d2.79, d3.79, d4.79, d5.79, d6.79, d7.79, d8.79, d9.79, d10.79, d11.79, d12.79, d13.79, d14.79, d15.79)
  d.111100<<-c(d1.80, d2.80, d3.80, d4.80, d5.80, d6.80, d7.80, d8.80, d9.80, d10.80, d11.80, d12.80, d13.80, d14.80, d15.80)
  d.001110<<-c(d1.81, d2.81, d3.81, d4.81, d5.81, d6.81, d7.81, d8.81, d9.81, d10.81, d11.81, d12.81, d13.81, d14.81, d15.81)
  d.100100<<-c(d1.82, d2.82, d3.82, d4.82, d5.82, d6.82, d7.82, d8.82, d9.82, d10.82, d11.82, d12.82, d13.82, d14.82, d15.82)
  d.010010<<-c(d1.83, d2.83, d3.83, d4.83, d5.83, d6.83, d7.83, d8.83, d9.83, d10.83, d11.83, d12.83, d13.83, d14.83, d15.83)
  d.111101<<-c(d1.84, d2.84, d3.84, d4.84, d5.84, d6.84, d7.84, d8.84, d9.84, d10.84, d11.84, d12.84, d13.84, d14.84, d15.84)
  d.110110<<-c(d1.85, d2.85, d3.85, d4.85, d5.85, d6.85, d7.85, d8.85, d9.85, d10.85, d11.85, d12.85, d13.85, d14.85, d15.85)
  d.000011<<-c(d1.86, d2.86, d3.86, d4.86, d5.86, d6.86, d7.86, d8.86, d9.86, d10.86, d11.86, d12.86, d13.86, d14.86, d15.86)
  d.110101<<-c(d1.87, d2.87, d3.87, d4.87, d5.87, d6.87, d7.87, d8.87, d9.87, d10.87, d11.87, d12.87, d13.87, d14.87, d15.87)
  d.010100<<-c(d1.88, d2.88, d3.88, d4.88, d5.88, d6.88, d7.88, d8.88, d9.88, d10.88, d11.88, d12.88, d13.88, d14.88, d15.88)
  d.110000<<-c(d1.89, d2.89, d3.89, d4.89, d5.89, d6.89, d7.89, d8.89, d9.89, d10.89, d11.89, d12.89, d13.89, d14.89, d15.89)
  d.000010<<-c(d1.90, d2.90, d3.90, d4.90, d5.90, d6.90, d7.90, d8.90, d9.90, d10.90, d11.90, d12.90, d13.90, d14.90, d15.90)
  d.110011<<-c(d1.91, d2.91, d3.91, d4.91, d5.91, d6.91, d7.91, d8.91, d9.91, d10.91, d11.91, d12.91, d13.91, d14.91, d15.91)
  d.010000<<-c(d1.92, d2.92, d3.92, d4.92, d5.92, d6.92, d7.92, d8.92, d9.92, d10.92, d11.92, d12.92, d13.92, d14.92, d15.92)
  d.100001<<-c(d1.93, d2.93, d3.93, d4.93, d5.93, d6.93, d7.93, d8.93, d9.93, d10.93, d11.93, d12.93, d13.93, d14.93, d15.93)
  d.011110<<-c(d1.94, d2.94, d3.94, d4.94, d5.94, d6.94, d7.94, d8.94, d9.94, d10.94, d11.94, d12.94, d13.94, d14.94, d15.94)
  d.110001<<-c(d1.95, d2.95, d3.95, d4.95, d5.95, d6.95, d7.95, d8.95, d9.95, d10.95, d11.95, d12.95, d13.95, d14.95, d15.95)
  d.100011<<-c(d1.96, d2.96, d3.96, d4.96, d5.96, d6.96, d7.96, d8.96, d9.96, d10.96, d11.96, d12.96, d13.96, d14.96, d15.96)
  d.010110<<-c(d1.97, d2.97, d3.97, d4.97, d5.97, d6.97, d7.97, d8.97, d9.97, d10.97, d11.97, d12.97, d13.97, d14.97, d15.97)
  d.011101<<-c(d1.98, d2.98, d3.98, d4.98, d5.98, d6.98, d7.98, d8.98, d9.98, d10.98, d11.98, d12.98, d13.98, d14.98, d15.98)
  d.110010<<-c(d1.99, d2.99, d3.99, d4.99, d5.99, d6.99, d7.99, d8.99, d9.99, d10.99, d11.99, d12.99, d13.99, d14.99, d15.99)
  d.011000<<-c(d1.100, d2.100, d3.100, d4.100, d5.100, d6.100, d7.100, d8.100, d9.100, d10.100, d11.100, d12.100, d13.100, d14.100, d15.100)
  d.100111<<-c(d1.101, d2.101, d3.101, d4.101, d5.101, d6.101, d7.101, d8.101, d9.101, d10.101, d11.101, d12.101, d13.101, d14.101, d15.101)
  d.001011<<-c(d1.102, d2.102, d3.102, d4.102, d5.102, d6.102, d7.102, d8.102, d9.102, d10.102, d11.102, d12.102, d13.102, d14.102, d15.102)
  d.111010<<-c(d1.103, d2.103, d3.103, d4.103, d5.103, d6.103, d7.103, d8.103, d9.103, d10.103, d11.103, d12.103, d13.103, d14.103, d15.103)
  d.011001<<-c(d1.104, d2.104, d3.104, d4.104, d5.104, d6.104, d7.104, d8.104, d9.104, d10.104, d11.104, d12.104, d13.104, d14.104, d15.104)
  d.101000<<-c(d1.105, d2.105, d3.105, d4.105, d5.105, d6.105, d7.105, d8.105, d9.105, d10.105, d11.105, d12.105, d13.105, d14.105, d15.105)
  d.000110<<-c(d1.106, d2.106, d3.106, d4.106, d5.106, d6.106, d7.106, d8.106, d9.106, d10.106, d11.106, d12.106, d13.106, d14.106, d15.106)
  d.100110<<-c(d1.107, d2.107, d3.107, d4.107, d5.107, d6.107, d7.107, d8.107, d9.107, d10.107, d11.107, d12.107, d13.107, d14.107, d15.107)
  d.001000<<-c(d1.108, d2.108, d3.108, d4.108, d5.108, d6.108, d7.108, d8.108, d9.108, d10.108, d11.108, d12.108, d13.108, d14.108, d15.108)
  d.111001<<-c(d1.109, d2.109, d3.109, d4.109, d5.109, d6.109, d7.109, d8.109, d9.109, d10.109, d11.109, d12.109, d13.109, d14.109, d15.109)
  d.011010<<-c(d1.110, d2.110, d3.110, d4.110, d5.110, d6.110, d7.110, d8.110, d9.110, d10.110, d11.110, d12.110, d13.110, d14.110, d15.110)
  d.001101<<-c(d1.111, d2.111, d3.111, d4.111, d5.111, d6.111, d7.111, d8.111, d9.111, d10.111, d11.111, d12.111, d13.111, d14.111, d15.111)
  d.101100<<-c(d1.112, d2.112, d3.112, d4.112, d5.112, d6.112, d7.112, d8.112, d9.112, d10.112, d11.112, d12.112, d13.112, d14.112, d15.112)
  d.111011<<-c(d1.113, d2.113, d3.113, d4.113, d5.113, d6.113, d7.113, d8.113, d9.113, d10.113, d11.113, d12.113, d13.113, d14.113, d15.113)
  d.101001<<-c(d1.114, d2.114, d3.114, d4.114, d5.114, d6.114, d7.114, d8.114, d9.114, d10.114, d11.114, d12.114, d13.114, d14.114, d15.114)
  d.000101<<-c(d1.115, d2.115, d3.115, d4.115, d5.115, d6.115, d7.115, d8.115, d9.115, d10.115, d11.115, d12.115, d13.115, d14.115, d15.115)
  d.111000<<-c(d1.116, d2.116, d3.116, d4.116, d5.116, d6.116, d7.116, d8.116, d9.116, d10.116, d11.116, d12.116, d13.116, d14.116, d15.116)
  d.000111<<-c(d1.117, d2.117, d3.117, d4.117, d5.117, d6.117, d7.117, d8.117, d9.117, d10.117, d11.117, d12.117, d13.117, d14.117, d15.117)
  d.100101<<-c(d1.118, d2.118, d3.118, d4.118, d5.118, d6.118, d7.118, d8.118, d9.118, d10.118, d11.118, d12.118, d13.118, d14.118, d15.118)
  d.010001<<-c(d1.119, d2.119, d3.119, d4.119, d5.119, d6.119, d7.119, d8.119, d9.119, d10.119, d11.119, d12.119, d13.119, d14.119, d15.119)
  d.000100<<-c(d1.120, d2.120, d3.120, d4.120, d5.120, d6.120, d7.120, d8.120, d9.120, d10.120, d11.120, d12.120, d13.120, d14.120, d15.120)
  d.010011<<-c(d1.121, d2.121, d3.121, d4.121, d5.121, d6.121, d7.121, d8.121, d9.121, d10.121, d11.121, d12.121, d13.121, d14.121, d15.121)
  d.100010<<-c(d1.122, d2.122, d3.122, d4.122, d5.122, d6.122, d7.122, d8.122, d9.122, d10.122, d11.122, d12.122, d13.122, d14.122, d15.122)
  d.110111<<-c(d1.123, d2.123, d3.123, d4.123, d5.123, d6.123, d7.123, d8.123, d9.123, d10.123, d11.123, d12.123, d13.123, d14.123, d15.123)
  d.010111<<-c(d1.124, d2.124, d3.124, d4.124, d5.124, d6.124, d7.124, d8.124, d9.124, d10.124, d11.124, d12.124, d13.124, d14.124, d15.124)
  d.110100<<-c(d1.125, d2.125, d3.125, d4.125, d5.125, d6.125, d7.125, d8.125, d9.125, d10.125, d11.125, d12.125, d13.125, d14.125, d15.125)
  d.101110<<-c(d1.126, d2.126, d3.126, d4.126, d5.126, d6.126, d7.126, d8.126, d9.126, d10.126, d11.126, d12.126, d13.126, d14.126, d15.126)
  #invisible(df1<-as.data.frame(t(as.character((paste("d.",data$String[63:126],sep=""))))));names(df1)<-paste("V",63:126);print(df1)
  suppressWarnings(db<<-as.data.frame(cbind(z.0,d.0,d.1,d.00,d.11,d.01,d.10,d.111,d.000,d.110,d.011,d.100,d.001,d.101,d.010,d.0000,
        d.1111,d.1110,d.1010,d.0001,d.0101,d.1000,d.0111,d.1101,d.1011,d.0110,d.1100,d.0010,d.1001,d.0010,d.011,d.00000, d.11111, d.11110,
        d.10101, d.10000, d.01010, d.00001, d.01111, d.11010, d.10110, d.11101, d.10010, d.00111, d.11000, d.01011,d.10100, d.00011, d.01110, 
        d.00010, d.01000, d.11011, d.01100, d.10111, d.11100, d.10011, d.00110, d.00100, d.10001, d.11001, d.00101,d.01101, d.01001,d.000000, d.111111, 
        d.101010, d.100000, d.011111, d.010101, d.111110, d.000001, d.001010, d.001001, d.011011, d.001100, d.011100, d.101101, d.001111, d.101111, d.101011, 
        d.111100, d.001110, d.100100, d.010010,d.111101, d.110110, d.000011, d.110101, d.010100, d.110000, d.000010, d.110011, d.010000, d.100001, d.011110, 
        d.110001, d.100011, d.010110, d.011101, d.110010, d.011000, d.100111, d.001011, d.111010, d.011001,d.101000, d.000110, d.100110, d.001000, d.111001, 
        d.011010, d.001101, d.101100, d.111011, d.101001, d.000101, d.111000, d.000111, d.100101, d.010001, d.000100, d.010011, d.100010, d.110111, d.010111, 
        d.110100,d.101110)))
  #print(as.data.frame(t(as.character((paste("\"",data$String[15:30],"\"",",",sep=""))))))
  names(db)<<-c("String","0","1","00","11","01","10","111","000","110","011","100","001","101","010","0000", "1111", "1110", "1010", "0001",
                "0101", "1000", "0111", "1101", "1011", "0110", "1100", "0010", "1001", "0100", "0011","00000", "11111", "11110", "10101", "10000", "01010",
                "00001", "01111", "11010", "10110", "11101", "10010", "00111", "11000", "01011","10100", "00011", "01110", "00010", "01000", "11011", "01100", 
                "10111", "11100", "10011", "00110", "00100", "10001", "11001", "00101","01101", "01001", "000000", "111111", "101010", "100000", "011111", "010101", 
                "111110", "000001", "001010", "001001", "011011", "001100", "011100", "101101", "001111", "101111", "101011", "111100", "001110", "100100", "010010",
                "111101", "110110", "000011", "110101", "010100", "110000", "000010", "110011", "010000", "100001", "011110", "110001", "100011", "010110", "011101", 
                "110010", "011000", "100111", "001011", "111010", "011001","101000", "000110", "100110", "001000", "111001", "011010", "001101", "101100", "111011", "101001",
                "000101", "111000", "000111", "100101", "010001", "000100", "010011", "100010", "110111", "010111", "110100","101110")
  db<<-db[1:n,1:(nrow(sb)+1)]
  for(i in 2:ncol(db)){as.numeric(as.character(db[,i]))->>db[,i]} #this line corrupts the data!!! #need to convert to numeric to compute variances
  #generate variances
  v.1<<-vector("numeric",nrow(db))
  v.2<<-vector("numeric",nrow(db))
  v.3<<-vector("numeric",nrow(db))
  v.4<<-vector("numeric",nrow(db))
  v.5<<-vector("numeric",nrow(db))
  v.6<<-vector("numeric",nrow(db))
  for(i in 1:nrow(db)){v.1[i]<<-mean(db[i,2:3]^2)-mean(as.numeric(db[i,2:3]))^2}
  if(q>1){for(i in 1:nrow(db)){v.2[i]<<-mean(db[i,4:7]^2)-mean(as.numeric(db[i,4:7]))^2}}
  if(q>2){for(i in 1:nrow(db)){v.3[i]<<-mean(db[i,8:15]^2)-mean(as.numeric(db[i,8:15]))^2}}
  if(q>3){for(i in 1:nrow(db)){v.4[i]<<-mean(db[i,16:31]^2)-mean(as.numeric(db[i,16:31]))^2}}
  if(q>4){for(i in 1:nrow(db)){v.5[i]<<-mean(db[i,32:63]^2)-mean(as.numeric(db[i,32:63]))^2}}
  if(q>5){for(i in 1:nrow(db)){v.6[i]<<-mean(db[i,64:127]^2)-mean(as.numeric(db[i,64:127]))^2}}
  #
  if(q==1){
    db.2<<-as.data.frame(cbind(db[,1:3],v.1))
    names(db.2)[ncol(db.2)]<<-"Var(D|X).1"
  }
  if(q==2){
    db.2<<-as.data.frame(cbind(db[,1:3],v.1,db[,4:ncol(db)],v.2))
    names(db.2)[4]<<-"Var(D|X).1"
    names(db.2)[ncol(db.2)]<<-"Var(D|X).2"
  }
  if(q==3){
    db.2<<-as.data.frame(cbind(db[,1:3],v.1,db[,4:7],v.2,db[,8:ncol(db)],v.3))
    names(db.2)[4]<<-"Var(D|X).1"
    names(db.2)[9]<<-"Var(D|X).2"
    names(db.2)[ncol(db.2)]<<-"Var(D|X).3"
  }
  if(q==4){
    db.2<<-as.data.frame(cbind(db[,1:3],v.1,db[,5:8],v.2,db[,9:15],v.3,db[,18:ncol(db)],v.4))
    names(db.2)[4]<<-"Var(D|X).1"
    names(db.2)[9]<<-"Var(D|X).2"
    names(db.2)[17]<<-"Var(D|X).3"
    names(db.2)[ncol(db.2)]<<-"Var(D|X).4"
  }
  if(q==5){
    db.2<<-as.data.frame(cbind(db[,1:3],v.1,db[,5:8],v.2,db[,9:15],v.3,db[,18:31],v.4,db[,32:ncol(db)],v.5))
    names(db.2)[4]<<-"Var(D|X).1"
    names(db.2)[9]<<-"Var(D|X).2"
    names(db.2)[17]<<-"Var(D|X).3"
    names(db.2)[32]<<-"Var(D|X).4"
    names(db.2)[ncol(db.2)]<<-"Var(D|X).5"
  }
  if(q==6){
    db.2<<-as.data.frame(cbind(db[,1:3],v.1,db[,5:8],v.2,db[,9:15],v.3,db[,18:31],v.4,db[,32:63],v.5,db[,64:ncol(db)]))
    names(db.2)[4]<<-"Var(D|X).1"
    names(db.2)[9]<<-"Var(D|X).2"
    names(db.2)[17]<<-"Var(D|X).3"
    names(db.2)[32]<<-"Var(D|X).4"
    names(db.2)[65]<<-"Var(D|X).5"
    names(db.2)[ncol(db.2)]<<-"Var(D|X).6"
  }
  div<<-vector("character",nrow(db.2))
  for(i in 1:nrow(db.2)){div[i]<<-"|"}
  db.3<<-as.data.frame(cbind(db.2[,1],div,db.2[,2:ncol(db.2)]))
  names(db.3)[1]<<-"String"
  names(db.3)[2]<<-"|"
  print(db.3)
  ##to print just the variances
  db.v<<-db.3[,grep("V",names(db.3))]
  ##Warning message:
  ##In cbind(z.0, d.0, d.1, d.00, d.01) :
  ##  number of rows of result is not a multiple of vector length (arg 1)
  ##Warning occurs if n==4,6,7,8...
  #############
}
k10dayogi/autocpx documentation built on May 20, 2019, 6:29 a.m.